﻿using IMModel.Domain;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using IMModel.Domain.Common;
using System.Data.Linq;
using System.Linq;
using System.Collections.Generic;
using System.Globalization;
using IMModel;

namespace IMTests
{


    /// <summary>
    ///This is a test class for TermTest and is intended
    ///to contain all TermTest Unit Tests
    ///</summary>
    [TestClass()]
    public class TermTest
    {
        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion

        #region получение списков
        /// <summary>
        /// список респондентов, градаций
        ///</summary>
        //[TestMethod()]
        public void GetIndexesString()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                /// список респондентов
                //Console.WriteLine(string.Join(",  ", term.Respondents.Select(x => x.Person.ShortName + " - " + x.FlagOsnJob)));
                /// список градаций
                //Console.WriteLine(string.Join(",  ", term.GradationTerms.Select(x => x.Gradation.Name + " - " + x.GradationsAnswers.Count + " шт.")));
                /// список показателей
                Console.WriteLine(
                    string.Join("|||||   ", term.CategoryTerms.Select(x =>
                    string.Join(";;;   ", x.CategorySectionTerms.Select(y =>
                    string.Join(",   ", y.CharacteristicTerms.Select(z =>
                        z.Characteristic.Name + " = " + z.Weight
                    )))))));
            }
        }

        string GetAnswer(Answer a)
        {
            return a.Respondent.Person.ShortName + " - " + a.Respondent.Department.Name;
        }

        /// <summary>
        /// получение списка истории изменений
        ///</summary>
        //[TestMethod()]
        public void GetHistoryAnswers()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                foreach (var item in term.Respondents)
                {
                    Console.Write(string.Join(",  ", item.Answers.Select(x =>
                        x.Answer1 == null ? "-" : GetAnswer(x.Answer1))));
                    Console.Write("; ");
                }
            }
        }
        /// <summary>
        /// получение списка изменений
        ///</summary>
        //[TestMethod()]
        public void GetAllAnswers()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                foreach (var item in term.Respondents)
                {
                    //Console.WriteLine(string.Join(",  ", item.Answers.Select(x => GetAnswer(x))));
                    Console.WriteLine(item.Person.ShortName + " - " + item.Department.Name);
                }
            }
        }

        /// <summary>
        /// отклонение докторов
        ///</summary>
        [TestMethod()]
        public void GetIndexesAll()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb.ugtu.net;Initial Catalog=IndexMark;Integrated Security=True;MultipleActiveResultSets=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                //var context = term.GetIndexContextDoctors();
                var context = term.GetIndexContextPPS();
                Console.WriteLine("Индексы 2011:");
                var i = term.CalcIndexes(context);
                //GetIndexes(_sTest2011Term6, i, true);

                Console.WriteLine();
                Console.WriteLine();
                int n = 0;
                foreach (var v in i.OrderByDescending(x => x.Value))
                {
                    Console.WriteLine(++n + ") " + v + ": "
                        + string.Join(" + ", v.Key.Person.PersonDegrees.Select(x => x.Degree.Name)));
                }
                //Console.WriteLine(string.Join("    |    ", term.Respondents.Select(x =>
                //   x.Person.ShortName + ": " + string.Join("; ", x.Answers.Where(p =>
                //    //p.CharacteristicTerm.Weight == 0
                //    p.Volume == 0).Select(a => Answ(a))))));
            }
        }


         /// <summary>
        /// отклонение докторов
        ///</summary>
        [TestMethod()]
        public void GetGrad()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb.ugtu.net;Initial Catalog=IndexMark;Integrated Security=True;MultipleActiveResultSets=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                //var context = term.GetIndexContextDoctors();
                var context = term.GetIndexContextPPS();
                Console.WriteLine("========== 1.1.1");
                //var i = term.CalcIndexes(context);
                //var s52 = term.SectionTerms.Single(x => x.Order == "4.2");
                //var ek = s52.CategorySectionTerms.Single(x => x.CategoryTerm.Category.IDCategory == 4);
                var vv = term.CharacteristicTerms.Single(x => x.Order == "4.2.8");
                //GetIndexes(_sTest2011Term6, i, true);

                Console.WriteLine();
                Console.WriteLine();
                int n = 0;
                foreach (var v in vv.Indexes.OrderByDescending(x => x.Value))
                {
                    Console.WriteLine(++n + ") " + v + ": "
                        + string.Join(" + ", v.Key.Person.PersonDegrees.Select(x=>x.Degree.Name)));
                }
                //Console.WriteLine(string.Join("    |    ", term.Respondents.Select(x =>
                //   x.Person.ShortName + ": " + string.Join("; ", x.Answers.Where(p =>
                //    //p.CharacteristicTerm.Weight == 0
                //    p.Volume == 0).Select(a => Answ(a))))));
            }
        }

        /// <summary>
        /// поиск градаций с весом = 0
        ///</summary>
        //[TestMethod()]
        public void GetAnswers()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 6);
                var context = term.GetIndexContextDoctors();
                //var context = term.GetDefaultIndexContext();
                Console.WriteLine("Отклонения от данных ИС 2011:");
                //GetIndexes(_sTest2011Term6, 6, true);
                GetIndexes(_sTest2011Term6, term.CalcIndexes(context), true);
                

                //Console.WriteLine(string.Join("    |    ", term.GradationTerms.Where(x => x.Weight == 0)
                //    .Select(x => GetTree(x) + " - " + x.Weight)));

                // поиск Volume == 0
                //Console.WriteLine(string.Join("    |    ", term.Respondents.Select(x =>
                //   x.Person.ShortName + ": " + string.Join("; ", x.Answers.Where(p =>
                //    //p.CharacteristicTerm.Weight == 0
                //    p.Volume == 0).Select(a => Answ(a))))));

                // очистка поиск градаций с весом = 0
                //foreach (var item in term.GradationTerms)
                //{
                //    if (item.Weight == 0) item.Weight = null;
                //}
                //ctx.SubmitChanges();
            }
        }
        #endregion

        #region отклонение от данных
        /// <summary>
        /// отклонение от данных
        ///</summary>
        public void GetIndexes(string data, int termID, bool showOtkl, bool showAll = false)
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == termID);
                GetIndexes(data, term.Indexes, showOtkl, showAll);
            }
        }

        public void GetIndexes(string data, RespondentIndexCollection indexes, bool showOtkl, bool showAll = false)
        {
            Dictionary<string, double> di = new Dictionary<string, double>();
            foreach (var item in data.Split('\n'))
            {
                var x = item.Split('\t');
                di.Add(x[0], double.Parse(x[1]));
            }
            double y = 0, max = 0, min = 0, otkl = 0, n = 0;

            //Console.WriteLine(ctx.Terms.Max(x=>x.IDTerm));
            foreach (KeyValuePair<Respondent, double> d in indexes)
            {
                try
                {
                    var dy = di[d.Key.Person.ShortName] - d.Value;
                    y += dy * dy;
                    ++n;
                    var i = dy * dy;
                    if (showAll) Console.WriteLine(d.Key.Person + " - отклонение: " + dy);
                    if (i > 0.01)
                    {
                        otkl++;
                        if (showOtkl) Console.WriteLine(d.Key.Person + " - отклонение: " + dy);
                    }
                    if (max > dy) max = dy;
                    if (min < dy) min = dy;
                }
                catch
                {
                    Console.WriteLine("Отсутствует: " + d.Key.Person.ShortName);
                }

            }
            Console.WriteLine();
            Console.WriteLine("итого квадратическое отклонение: " + y);
            Console.WriteLine(string.Format("отклонение от: {0:0.00000000} до: {1:0.00000000}", min, max));
            Console.WriteLine("отклонившихся: " + otkl + " из " + n);
        }

        /// <summary>
        /// отклонение от данных ИС 2010 и 2011
        ///</summary>
        //[TestMethod()]
        public void GetIndexes2010()
        {
            //Console.WriteLine("Отклонения от данных ИС 2010:");
            //GetIndexes(_sTest2010Term6, 6, true);
            //Console.WriteLine();
            //Console.WriteLine();
            Console.WriteLine("Отклонения от данных ИС 2011:");
            GetIndexes(_sTest2011Term6, 6, true);
        }

        string GetTree(GradationTerm gt)
        {
            return (gt.GradationTerm1 == null ? "-" : GetTree(gt.GradationTerm1)) + gt.Gradation.Name;
        }

        #region данные
        #region тест из 2010
        string _sTest2010Term6 = @"Бурмистрова  О. Н.	0,97119
Плякин  А. М.	0,59924
Кобрунов  А. И.	0,58572
Ягубов  З. Х.	0,55567
Бочаров  М. И.	0,49108
Мордвинов  А. А.	0,48889
Борозинец  Л. Г.	0,46661
Чупров  И. Ф.	0,45825
Быков  И. Ю.	0,43026
Пименова  Г. И.	0,41151
Уляшева  Н. М.	0,4008
Шоль  Н. Р.	0,38232
Сотникова О. А.	0,37932
Некучаев  В. О.	0,37626
Кримчеева  Г. Г.	0,37121
Климушев  Н. К.	0,36537
Рузин  Л. М.	0,35165
Пармузина  Л. В.	0,33686
Ерохина  Л. А.	0,30636
Каюков  В. В.	0,29514
Кочетков  О. С.	0,23465
Крупенский  В. И.	0,20417
Маслов В. Н.	0,19481
Гацалов  М. М.	0,171
Пантилеенко  В. Н.	0,10039
Постников  В. Г.	0,08698
Землянский  В. Н.	0,08446
Кучерявый  В. И.	0,07399
Полубоярцев  Е. Л.	0,05793
Копейкин  В. А.	0,04955
Вулих  Н. В.	0,02934
Кулешов  В. Е.	1
Назарова  И. Г.	0,76532
Зыков  В. А.	0,63681
Крестовских  Т. С.	0,52789
Кустышев  А. Н.	0,49683
Павловская  А. В.	0,46337
Ланина  Т. Д.	0,46064
Данилов  Г. В.	0,4351
Князев  Н. В.	0,42907
Пономарев  Н. С.	0,4159
Шилов  Л. П.	0,38486
Кейн  С. А.	0,37715
Демченко  Н. П.	0,36586
Маракасов  Ф. В.	0,3535
Солдатенкова О. В.	0,35146
Бубличенко  В. Н.	0,33359
Смирнов  Ю. Г.	0,3216
Логачев  Ю. Л.	0,29799
Пушкин  В. Н.	0,29295
Подосенова  Н. С.	0,28832
Кравчук  Л. Р.	0,28296
Шилова  С. В.	0,27916
Сиваш  Н. С.	0,24893
Суранов  Г. И.	0,24144
Зюзина  Н. В.	0,24017
Веряскина  Е. М.	0,24008
Волкова  И. И.	0,23717
Игнатенко  Т. С.	0,23623
Ершов  А. А.	0,23458
Коломинова  М. В.	0,23139
Манжиков А. В.	0,22525
Богданов  Н. П.	0,22148
Коновалов  М. Н.	0,22052
Маркова  Н. М.	0,20555
Пармузин  П. Н.	0,19618
Жилина  Е. В.	0,19444
Хегай  В. К.	0,18643
Енцов  И. И.	0,18391
Вербаховская  Р. А.	0,1836
Прилюдько  И. А.	0,17449
Круглий  А. В.	0,16873
Чурюмов  В. Ю.	0,16627
Нор  А. В.	0,1656
Куделин  А. Г.	0,14907
Деминская  Н. Г.	0,14879
Климочкина  Н. И.	0,13883
Майорова  Н. С.	0,13788
Дудников  В. Ю.	0,13394
Безгодов  Д. Н.	0,13032
Фалин  В. В.	0,12895
Москалева  Е. М.	0,12452
Цыгарова  М. В.	0,12242
Карманова  О. А.	0,11752
Пластинина  Е. В.	0,11324
Радкевич  А. П.	0,10731
Чаадаев  К. Е.	0,10571
Скобелева В. А.	0,10566
Федотов  Н. С.	0,10003
Истомина  Е. В.	0,09856
Высоцкая  Н. В.	0,09686
Жуйков  А. Е.	0,09569
Саматова  Т. Б.	0,09159
Узлов  О. В.	0,0914
Серкова  В. И.	0,09121
Вишневская  Н. С.	0,08906
Кириллов  В. Б.	0,08857
Нор  Е. В.	0,08787
Воловик  О. В.	0,08781
Сальников  А. В.	0,08727
Суетина  Р. И.	0,08722
Бердник  А. Г.	0,0863
Мужикова  А. В.	0,08525
Абрамичева  Т. В.	0,08369
Мотрюк  Е. Н.	0,08354
Овчарова  Т. А.	0,08303
Фомин  А. С.	0,08164
Миклина  О. А.	0,0787
Солдатенков В. И.	0,07853
Берловская  Е. В.	0,07795
Северова  Н. А.	0,07787
Бобылева  Т. В.	0,07765
Чупраков  А. М.	0,07717
Шибакова  Е. Н.	0,07631
Вологин  Е. А.	0,07571
Кейн  О. П.	0,07523
Воронина  Н. В.	0,07411
Бакулина  Л. П.	0,07376
Перхуткин  В. П.	0,07057
Витович  Б. А.	0,07037
Жевнеренко  В. А.	0,06999
Шамбулина  В. Н.	0,06761
Туманова  О. Н.	0,0676
Гузенко  О. Г.	0,06753
Рыбина  Е. А.	0,06654
Рочев  А. Н.	0,06644
Ермушина  Н. Н.	0,06619
Дроздовский  Г. П.	0,0661
Кудряшова  О. М.	0,06531
Плюснина  О. В.	0,06458
Каменских  С. В.	0,06394
Девальтовский  Е. Э.	0,0638
Михайленко Е. Д.	0,06332
Думицкая  Н. Г.	0,06056
Маслова  Л. А.	0,06026
Миронюк  А. В.	0,05959
Минова  Н. П.	0,05904
Сычева  Р. В.	0,05872
Сичинава  Г. А.	0,05866
Дейнега  С. А.	0,05819
Семериков  А. В.	0,05808
Ларева  А. Г.	0,05434
Лабызнова  Г. Г.	0,05426
Базарова  И. А.	0,05305
Бычков  Е. В.	0,05209
Веселов  С. А.	0,05184
Очир-Горяев В. П.	0,05117
Белоусова К. В.	0,05108
Тетенькин  Е. Н.	0,05063
Прудникова  О. М.	0,05023
Борисова  О. В.	0,04905
Белкина  Н. Г.	0,04804
Бабыкина  Н. Н.	0,04799
Коптяева  Г. Б.	0,04713
Пятибрат  В. П.	0,0471
Пшеничникова  Л. Х.	0,04697
Серов  И. К.	0,04612
Жукова  Л. Н.	0,04546
Бойченко  Л. П.	0,04488
Соловьев  В. В.	0,04483
Крючков  С. В.	0,04435
Голубев  Ю. Д.	0,04423
Канев А. А.	0,04178
Чернышов А. Г.	0,0417
Попов  А. С.	0,04016
Лагода  И. В.	0,03931
Нестерова  О. В.	0,03907
Шмарева  М. Б.	0,0382
Федотова  Л. Ф.	0,03809
Горяева Г. Н.	0,03772
Шулепов  И. И.	0,03739
Мучулаев  Ю. А.	0,03611
Кейн  Е. И.	0,03587
Хатанзейский  В. И.	0,0357
Линок  Н. Г.	0,03497
Паршина  Л. М.	0,03445
Мартынова  Г. В.	0,03428
Круссер Н. Г.	0,0341
Жингаровский  А. Н.	0,032
Будевич Е. А.	0,03136
Суровцев  Е. Л.	0,03087
Власов  В. П.	0,02457
Туманов  Д. П.	0,02263
Беляев  А. Э.	0,02125
Михитарова М. В.	0,01302
Давыдов  Е. И.	0,26222
Соколовская  Е. Н.	0,19991
Иванова  Е. С.	0,19834
Гончарова  Е. И.	0,14338
Старцев  А. Э.	0,14248
Болкина  А. А.	0,13665
Петров Н. А.	0,12962
Габова М. Н.	0,12082
Тюрина  А. А.	0,1177
Заборовская  В. В.	0,11639
Позняков И. А.	0,10579
Сапрыкина  Ю. А.	0,09881
Некрасов П. А.	0,09597
Колесник  О. А.	0,0929
Борисова  И. К.	0,09109
Осипова  Н. А.	0,09092
Шемиченко  Т. И.	0,09051
Цуканова  А. Н.	0,09002
Никонов  А. В.	0,08864
Беляева  О. И.	0,08757
Мартюшев  С. М.	0,08646
Юрченко  В. В.	0,08573
Заремба  И. В.	0,08102
Лапина  Л. Н.	0,07735
Лапина  Н. Н.	0,07698
Мелехина  М. Б.	0,07609
Ложкина  Т. В.	0,07312
Суханова  В. И.	0,06742
Познякова Л. И.	0,06682
Тарсин  А. В.	0,06654
Тебердеева  Л. В.	0,06261
Колесниченко Е. В.	0,06012
Васильев  Я. Ю.	0,05884
Бирюкова  И. Б.	0,05748
Алексеева  Н. В.	0,05588
Тодосеева  Н. А.	0,05531
Журова  Т. В.	0,0516
Вострикова  Ю. В.	0,05111
Полетаев  С. В.	0,05007
Корохонько  О. М.	0,04953
Ивенина  И. В.	0,04914
Сирина  Е. А.	0,04858
Корж  В. В.	0,04798
Салайда  Л. В.	0,04681
Кузьминова  И. В.	0,046
Бармина  И. Н.	0,04562
Костецкая  М. П.	0,04499
Рохина  Р. С.	0,04469
Батманова  О. А.	0,04363
Карабинская  Л. М.	0,04293
Белякова  Л. О.	0,04222
Козлова  Л. Ф.	0,04114
Задорожная  А. А.	0,03842
Мовчанюк  О. В.	0,03833
Юхнин  М. И.	0,03557
Дроздовская  К. А.	0,03499
Перфильева  Э. А.	0,03486
Коношенок  В. И.	0,03402
Зубкова  С. Е.	0,03394
Лихачева  И. А.	0,03374
Коренькова  Е. В.	0,02965
Сочко  С. С.	0,02862
Янгибаева  И. Р.	0,02711
Выборова  Н. М.	0,02205
Гуков  В. В.	0,20897
Иванова М. В.	0,10959
Давыдова  И. Е.	0,08393
Душенко Т. В.	0,07129
Турова  И. В.	0,05786
Енцова  В. И.	0,04203
Гусева  Е. Н.	0,03765
Торопова  О. О.	0,03307
Петров  С. В.	0,27526
Урбан А. В.	0,19566
Свирида М. М.	0,12414
Михайленко  Ю. В.	0,11711
Додукало Е. Н.	0,11327
Ершова О. В.	0,11254
Савич  В. Л.	0,10848
Канева  Е. А.	0,10637
Крупенская О. В.	0,09639
Зарипова И. Ю.	0,09492
Дементьев И. А.	0,09149
Чеповская Н. В.	0,08609
Чувьюрова (Тимохова) О. М.	0,0852
Кузьминых  Д. В.	0,07789
Король С. А.	0,07606
Вокуева Т. А.	0,07103
Соловьева О. В.	0,06647
Селиванов  Д. Г.	0,06487
Дудникова С. Б.	0,06313
Чернова О. В.	0,063
Лебедев  И. И.	0,06125
Хозяинова М. С.	0,05979
Левенштерн  К. Ю.	0,05833
Соходон Г. В.	0,0557
Николенко Н. А.	0,05213
Миронова М. Г.	0,05049
Пирогова К. Г.	0,04867
Загер  И. Ю.	0,04576
Дегтянников  А. И.	0,04525
Плюснин П. Б.	0,04345
Пильник Ю. Н.	0,03877
Игнатов М. В.	0,03517
Парфентьева  Е. В.	0,0293";
        #endregion

        #region тест из 2011
        string _sTest2011Term6 = @"Бурмистрова  О. Н.	1
Кулешов  В. Е.	0,95363
Кобрунов  А. И.	0,6869
Зыков  В. А.	0,65454
Назарова  И. Г.	0,63203
Павловская  А. В.	0,59756
Плякин  А. М.	0,56492
Крестовских  Т. С.	0,56367
Ягубов  З. Х.	0,55817
Борозинец  Л. Г.	0,48288
Князев  Н. В.	0,46837
Ланина  Т. Д.	0,44783
Мордвинов  А. А.	0,44091
Чупров  И. Ф.	0,43867
Некучаев  В. О.	0,41923
Кочетков  О. С.	0,40939
Данилов  Г. В.	0,4024
Уляшева  Н. М.	0,38999
Шоль  Н. Р.	0,3887
Пономарев  Н. С.	0,38634
Шилов  Л. П.	0,38048
Бочаров  М. И.	0,37565
Бубличенко  В. Н.	0,37122
Климушев  Н. К.	0,37044
Кримчеева  Г. Г.	0,36938
Кустышев  А. Н.	0,36796
Кейн  С. А.	0,36258
Демченко  Н. П.	0,36191
Маракасов  Ф. В.	0,35268
Солдатенкова О. В.	0,35015
Сотникова О. А.	0,34851
Рузин  Л. М.	0,33618
Пармузина  Л. В.	0,3279
Смирнов  Ю. Г.	0,3236
Ерохина  Л. А.	0,30929
Пименова  Г. И.	0,30454
Шилова  С. В.	0,29407
Пушкин  В. Н.	0,29246
Волкова  И. И.	0,2495
Петров  С. В.	0,24892
Веряскина  Е. М.	0,24504
Суранов  Г. И.	0,24033
Ершов  А. А.	0,2273
Манжиков А. В.	0,2194
Крупенский  В. И.	0,21564
Коновалов  М. Н.	0,21451
Коломинова  М. В.	0,20215
Шемиченко  Т. И.	0,18633
Давыдов  Е. И.	0,18567
Жилина  Е. В.	0,18382
Кравчук  Л. Р.	0,18223
Беляева  О. И.	0,18001
Юрченко  В. В.	0,17834
Урбан А. В.	0,17809
Логачев  Ю. Л.	0,17352
Иванова  Е. С.	0,17035
Богданов  Н. П.	0,16322
Маслов В. Н.	0,15938
Игнатенко  Т. С.	0,15272
Подосенова  Н. С.	0,14797
Нор  А. В.	0,14631
Соколовская  Е. Н.	0,14398
Зюзина  Н. В.	0,14039
Гуков  В. В.	0,14013
Каюков  В. В.	0,13893
Куделин  А. Г.	0,13202
Старцев  А. Э.	0,13079
Деминская  Н. Г.	0,12987
Хегай  В. К.	0,12934
Быков  И. Ю.	0,12515
Прилюдько  И. А.	0,12217
Сиваш  Н. С.	0,11926
Фалин  В. В.	0,11656
Вербаховская  Р. А.	0,11387
Майорова  Н. С.	0,1126
Чурюмов  В. Ю.	0,11011
Габова М. Н.	0,10933
Некрасов П. А.	0,10605
Бакулина  Л. П.	0,10392
Круглий  А. В.	0,10378
Заборовская  В. В.	0,09949
Иванова М. В.	0,09926
Ершова О. В.	0,09903
Чаадаев  К. Е.	0,09764
Гончарова  Е. И.	0,09748
Радкевич  А. П.	0,09738
Болкина  А. А.	0,0951
Канева  Е. А.	0,09284
Петров Н. А.	0,09277
Додукало Е. Н.	0,09128
Дудников  В. Ю.	0,08971
Позняков И. А.	0,08931
Тюрина  А. А.	0,08844
Карманова  О. А.	0,08832
Пантилеенко  В. Н.	0,0871
Свирида М. М.	0,0864
Кучерявый  В. И.	0,08444
Крупенская О. В.	0,08439
Мужикова  А. В.	0,08412
Федотов  Н. С.	0,08402
Михайленко  Ю. В.	0,08389
Узлов  О. В.	0,08205
Колесник  О. А.	0,08055
Зарипова И. Ю.	0,08009
Дементьев И. А.	0,07921
Сапрыкина  Ю. А.	0,07628
Фомин  А. С.	0,07558
Истомина  Е. В.	0,07341
Пластинина  Е. В.	0,07332
Абрамичева  Т. В.	0,07297
Нор  Е. В.	0,07183
Вишневская  Н. С.	0,07165
Шамбулина  В. Н.	0,0716
Жевнеренко  В. А.	0,07134
Высоцкая  Н. В.	0,07109
Савич  В. Л.	0,07027
Шибакова  Е. Н.	0,06932
Цыгарова  М. В.	0,06845
Сальников  А. В.	0,06839
Воловик  О. В.	0,0683
Бобылева  Т. В.	0,06827
Безгодов  Д. Н.	0,06799
Цуканова  А. Н.	0,06718
Москалева  Е. М.	0,06692
Саматова  Т. Б.	0,06689
Лапина  Л. Н.	0,06685
Жуйков  А. Е.	0,0658
Миклина  О. А.	0,0646
Чувьюрова (Тимохова) О. М.	0,06457
Овчарова  Т. А.	0,06406
Климочкина  Н. И.	0,06372
Северова  Н. А.	0,06158
Бердник  А. Г.	0,06044
Серкова  В. И.	0,05922
Постников  В. Г.	0,0585
Воронина  Н. В.	0,0574
Девальтовский  Е. Э.	0,05609
Маркова  Н. М.	0,05603
Душенко Т. В.	0,05562
Кириллов  В. Б.	0,05519
Борисова  И. К.	0,05461
Соловьева О. В.	0,0546
Землянский  В. Н.	0,05459
Лапина  Н. Н.	0,05451
Вологин  Е. А.	0,05405
Тарсин  А. В.	0,05402
Кейн  О. П.	0,05389
Вокуева Т. А.	0,05328
Берловская  Е. В.	0,05283
Никонов  А. В.	0,0528
Ложкина  Т. В.	0,05248
Суетина  Р. И.	0,05231
Чеповская Н. В.	0,05226
Мотрюк  Е. Н.	0,05216
Рочев  А. Н.	0,05165
Минова  Н. П.	0,05131
Познякова Л. И.	0,04993
Заремба  И. В.	0,04989
Селиванов  Д. Г.	0,04931
Ермушина  Н. Н.	0,04904
Гузенко  О. Г.	0,04887
Скобелева В. А.	0,04856
Кудряшова  О. М.	0,04818
Король С. А.	0,04787
Рыбина  Е. А.	0,04734
Пармузин  П. Н.	0,04729
Бычков  Е. В.	0,04719
Перхуткин  В. П.	0,04715
Кузьминых  Д. В.	0,047
Давыдова  И. Е.	0,04616
Гацалов  М. М.	0,04576
Алексеева  Н. В.	0,04553
Мартюшев  С. М.	0,04531
Туманова  О. Н.	0,04495
Каменских  С. В.	0,0449
Лебедев  И. И.	0,04404
Витович  Б. А.	0,04394
Дудникова С. Б.	0,04389
Хозяинова М. С.	0,04374
Бирюкова  И. Б.	0,04295
Маслова  Л. А.	0,04272
Чернова О. В.	0,04266
Плюснина  О. В.	0,04261
Турова  И. В.	0,04255
Дроздовский  Г. П.	0,0425
Тебердеева  Л. В.	0,04095
Белоусова К. В.	0,0409
Мелехина  М. Б.	0,04083
Чупраков  А. М.	0,04029
Левенштерн  К. Ю.	0,04023
Михайленко Е. Д.	0,03925
Базарова  И. А.	0,03867
Соходон Г. В.	0,03865
Суханова  В. И.	0,03779
Тодосеева  Н. А.	0,03777
Полубоярцев  Е. Л.	0,03773
Полетаев  С. В.	0,03713
Миронюк  А. В.	0,03695
Сычева  Р. В.	0,03616
Ивенина  И. В.	0,03599
Сичинава  Г. А.	0,03551
Очир-Горяев В. П.	0,03455
Веселов  С. А.	0,03421
Копейкин  В. А.	0,03419
Лабызнова  Г. Г.	0,03398
Бармина  И. Н.	0,03361
Миронова М. Г.	0,03281
Прудникова  О. М.	0,03273
Корж  В. В.	0,03265
Тетенькин  Е. Н.	0,03252
Николенко Н. А.	0,03246
Ларева  А. Г.	0,03198
Осипова  Н. А.	0,03148
Серов  И. К.	0,03145
Колесниченко Е. В.	0,0314
Вострикова  Ю. В.	0,03036
Пятибрат  В. П.	0,03023
Загер  И. Ю.	0,0301
Дегтянников  А. И.	0,02929
Корохонько  О. М.	0,02899
Енцова  В. И.	0,02887
Солдатенков В. И.	0,02876
Бабыкина  Н. Н.	0,02823
Думицкая  Н. Г.	0,02814
Дейнега  С. А.	0,02794
Коптяева  Г. Б.	0,02782
Батманова  О. А.	0,02774
Костецкая  М. П.	0,02772
Белкина  Н. Г.	0,02771
Карабинская  Л. М.	0,02742
Рохина  Р. С.	0,02738
Жукова  Л. Н.	0,02717
Голубев  Ю. Д.	0,02711
Кейн  Е. И.	0,02644
Пшеничникова  Л. Х.	0,0264
Соловьев  В. В.	0,02611
Васильев  Я. Ю.	0,02597
Пирогова К. Г.	0,02593
Попов  А. С.	0,0259
Сирина  Е. А.	0,02583
Крючков  С. В.	0,02549
Семериков  А. В.	0,02453
Горяева Г. Н.	0,02428
Жингаровский  А. Н.	0,02419
Журова  Т. В.	0,02417
Зубкова  С. Е.	0,02398
Федотова  Л. Ф.	0,02386
Бойченко  Л. П.	0,02322
Козлова  Л. Ф.	0,02303
Хатанзейский  В. И.	0,0228
Кузьминова  И. В.	0,02253
Канев А. А.	0,02242
Линок  Н. Г.	0,02204
Перфильева  Э. А.	0,02197
Шмарева  М. Б.	0,02196
Гусева  Е. Н.	0,02191
Плюснин П. Б.	0,02179
Белякова  Л. О.	0,02179
Лагода  И. В.	0,02163
Борисова  О. В.	0,02152
Чернышов А. Г.	0,02127
Юхнин  М. И.	0,02123
Мартынова  Г. В.	0,02086
Задорожная  А. А.	0,02082
Салайда  Л. В.	0,02062
Нестерова  О. В.	0,02021
Мовчанюк  О. В.	0,0201
Шулепов  И. И.	0,01963
Коношенок  В. И.	0,0194
Пильник Ю. Н.	0,0193
Торопова  О. О.	0,01851
Паршина  Л. М.	0,01811
Игнатов М. В.	0,01796
Дроздовская  К. А.	0,01769
Круссер Н. Г.	0,01705
Лихачева  И. А.	0,01675
Енцов  И. И.	0,01658
Мучулаев  Ю. А.	0,01547
Будевич Е. А.	0,01505
Суровцев  Е. Л.	0,0148
Коренькова  Е. В.	0,01415
Парфентьева  Е. В.	0,01365
Власов  В. П.	0,01295
Вулих  Н. В.	0,01242
Сочко  С. С.	0,01222
Янгибаева  И. Р.	0,01199
Туманов  Д. П.	0,01037
Выборова  Н. М.	0,01002
Беляев  А. Э.	0,00833
Михитарова М. В.	0,00238";
        #endregion
        #endregion

        #region отклонение от изначальных данных ИС 2011
        #region тестовые данные 2010
        Dictionary<string, double> _dTest10 = new Dictionary<string, double>()
        {
            {"Зыков  Василий  Александрович", 0.654543431143728 },
            {"Крестовских  Татьяна  Сергеевна", 0.563668136754514 },
            {"Пименова  Галина  Ивановна", 0.304544752090038 },
            {"Кулешов  Владислав  Евгеньевич", 0.953631701434907 },
            {"Карманова  Ольга  Александровна", 0.0883183196411872 },
            {"Некрасов Павел Александрович", 0.106047415337327 },
            {"Коломинова  Марина  Витальевна", 0.2021471700124 },
            {"Пантилеенко  Владимир  Николаевич", 0.0870962058225921 },
            {"Петров  Сергей  Владимирович", 0.248918769236686 },
            {"Девальтовский  Евгений  Эдуардович", 0.056090956622369 },
            {"Веряскина  Елена  Михайловна", 0.245038935506795 },
            {"Маракасов  Феликс  Владимирович", 0.352684573697518 },
            {"Ершова Ольга Викторовна", 0.099026247310286 },
            {"Лапина  Наталья  Николаевна", 0.0545081451396485 },
            {"Бердник  Александр  Григорьевич", 0.0604429722613363 },
            {"Крючков  Сергей  Владимирович", 0.025486348946621 },
            {"Демченко  Наталья  Павловна", 0.361913183390513 },
            {"Дудников  Виталий  Юрьевич", 0.0897124976035119 },
            {"Борисова  Ирина  Карловна", 0.0546122399515512 },
            {"Майорова  Наталья  Сергеевна", 0.112598187574895 },
            {"Маслова  Лидия  Андреевна", 0.0427152547722425 },
            {"Никонов  Александр  Васильевич", 0.05279933211044 },
            {"Дудникова Светлана Борисовна", 0.0438933200919399 },
            {"Маслов Владимир Николаевич", 0.159384880758821 },
            {"Левенштерн  Кристина  Юрьевна", 0.0402293227680396 },
            {"Болкина  Анна  Александровна", 0.0950995800469316 },
            {"Безгодов  Дмитрий  Николаевич", 0.0679881961596979 },
            {"Данилов  Георгий  Владимирович", 0.40239877637738 },
            {"Каюков  Владимир  Викторович", 0.13892730331117 },
            {"Кобрунов  Александр  Иванович", 0.686902275701425 },
            {"Быков  Игорь  Юрьевич", 0.125153098362131 },
            {"Ершов  Александр  Александрович", 0.227302995973863 },
            {"Солдатенкова Ольга Вячеславовна", 0.350150057925259 },
            {"Борозинец  Ленфрид  Григорьевич", 0.482879209926388 },
            {"Кустышев  Андрей  Николаевич", 0.367958426398218 },
            {"Фалин  Владимир  Викторович", 0.11655767433016 },
            {"Беляева  Оксана  Игоревна", 0.180005973940443 },
            {"Вулих  Наталия  Васильевна", 0.0124201932968707 },
            {"Сотникова Ольга Александровна", 0.348505925840725 },
            {"Прилюдько  Ирина  Александровна", 0.12216868711949 },
            {"Чувьюрова (Тимохова) Оксана Михайловна", 0.0645670716849794 },
            {"Бурмистрова  Ольга  Николаевна", 1 },
            {"Саматова  Тамара  Борисовна", 0.0668926720033953 },
            {"Солдатенков Вячеслав Иванович", 0.0287609775715192 },
            {"Чупраков  Александр  Михайлович", 0.0402932172377684 },
            {"Зарипова Ирина Юрьевна", 0.0800904250247744 },
            {"Михайленко  Юлия Валерьевна", 0.0838872835152642 },
            {"Позняков Иван Александрович", 0.0893061420234062 },
            {"Узлов  Олег  Васильевич", 0.0820491128269094 },
            {"Шибакова  Елена  Николаевна", 0.0693245566252142 },
            {"Полубоярцев  Евгений  Леонидович", 0.0377345805049896 },
            {"Пармузина  Любовь  Васильевна", 0.327897532606126 },
            {"Пономарев  Николай  Степанович", 0.386337757325115 },
            {"Цыгарова  Марина  Валентиновна", 0.0684541425592881 },
            {"Шилова  Светлана  Владимировна", 0.29406512486666 },
            {"Плякин  Анатолий  Митрофанович", 0.564920973956988 },
            {"Бубличенко  Владимир  Николаевич", 0.371215852294692 },
            {"Федотов  Николай  Сергеевич", 0.0840208886914197 },
            {"Шемиченко  Татьяна  Ивановна", 0.18633211168638 },
            {"Ягубов  Зафар  Хангусейн оглы", 0.558169612968389 },
            {"Назарова  Инесса  Георгиевна", 0.632031788613833 },
            {"Волкова  Ирина  Ивановна", 0.249503108498051 },
            {"Соколовская  Елена  Николаевна", 0.143975871595857 },
            {"Шоль  Николай  Рихардович", 0.388700517692278 },
            {"Павловская  Алла  Васильевна", 0.597558511253485 },
            {"Тюрина  Анна  Александровна", 0.0884378015571779 },
            {"Крупенский  Владимир  Ильич", 0.215642495447084 },
            {"Пушкин  Виктор  Наркистович", 0.292458130913132 },
            {"Некучаев  Владимир  Орович", 0.419233405025909 },
            {"Смирнов  Юрий  Геннадиевич", 0.323596770637721 },
            {"Витович  Борис  Александрович", 0.0439407318585902 },
            {"Пармузин  Петр  Николаевич", 0.0472856327777645 },
            {"Сычева  Реана  Васильевна", 0.0361598023663151 },
            {"Заборовская  Валерия  Владимировна", 0.0994875279822939 },
            {"Жуйков  Андрей  Евгеньевич", 0.0657956373390299 },
            {"Костецкая  Мая  Павловна", 0.0277174571991752 },
            {"Суетина  Римма  Ивановна", 0.0523119978324916 },
            {"Лабызнова  Галина  Геннадьевна", 0.0339774440235367 },
            {"Плюснина  Оксана  Владимировна", 0.0426052757575954 },
            {"Абрамичева  Тамара  Витальевна", 0.0729677275373583 },
            {"Постников  Василий  Григорьевич", 0.0585009697443817 },
            {"Маркова  Нина  Михайловна", 0.0560292678193636 },
            {"Истомина  Елена  Владимировна", 0.0734059910077431 },
            {"Загер  Иванна  Юрьевна", 0.0301000917104795 },
            {"Сиваш  Наталья  Сергеевна", 0.119260904126989 },
            {"Очир-Горяев Владимир Петрович", 0.0345534398310758 },
            {"Голубев  Юрий  Дмитриевич", 0.0271133403371911 },
            {"Климочкина  Наталья  Ивановна", 0.0637196944588864 },
            {"Хозяинова Мария Семеновна", 0.0437394759818132 },
            {"Миронова Марина Геннадьевна", 0.0328129705078539 },
            {"Нор  Алексей  Вячеславович", 0.146313834138558 },
            {"Коновалов  Максим  Николаевич", 0.214513739158619 },
            {"Лебедев  Иван  Иванович", 0.0440437344946079 },
            {"Тетенькин  Евгений  Николаевич", 0.032520287842515 },
            {"Соловьева Оксана Витальевна", 0.0546038798353318 },
            {"Каменских  Сергей  Владиславович", 0.0448996836468131 },
            {"Попов  Александр  Сергеевич", 0.0259007199731256 },
            {"Хатанзейский  Василий  Иринеевич", 0.0227958960979838 },
            {"Заремба  Ирина  Вячеславовна", 0.0498909652016847 },
            {"Мотрюк  Екатерина  Николаевна", 0.0521585722590111 },
            {"Юрченко  Виталий  Вячеславович", 0.178343557216371 },
            {"Вологин  Евгений  Анатольевич", 0.0540523344134542 },
            {"Ермушина  Нина  Николаевна", 0.0490427715357836 },
            {"Круглий  Альбина  Викторовна", 0.103778203057899 },
            {"Радкевич  Александра  Порфирьевна", 0.0973790277084244 },
            {"Берловская  Елена  Вячеславовна", 0.0528330306779562 },
            {"Сапрыкина  Юлия  Александровна", 0.076275720798209 },
            {"Старцев  Андрей  Эврикович", 0.130791411435145 },
            {"Деминская  Наталия  Григорьевна", 0.12986765626637 },
            {"Цуканова  Анастасия  Николаевна", 0.0671814505518674 },
            {"Шамбулина  Вера  Николаевна", 0.0716020540854886 },
            {"Землянский  Владимир  Никитич", 0.0545937872805286 },
            {"Уляшева  Надежда  Михайловна", 0.389985277992614 },
            {"Фомин  Александр  Семенович", 0.0755800333199057 },
            {"Дементьев Иван Алексеевич", 0.0792109912382712 },
            {"Скобелева Валерия Александровна", 0.0485557531844159 },
            {"Полетаев  Сергей  Васильевич", 0.037130169139001 },
            {"Чеповская Наталья Валентиновна", 0.0522610056006802 },
            {"Нор  Елена  Владимировна", 0.0718309761017124 },
            {"Бочаров  Михаил  Иванович", 0.375648962457475 },
            {"Игнатенко  Татьяна  Сергеевна", 0.152719172368079 },
            {"Перхуткин  Владимир  Павлович", 0.0471496146863914 },
            {"Иванова Мария Валерьевна", 0.0992557070353496 },
            {"Крупенская Ольга Владимировна", 0.0843888485471887 },
            {"Соходон Геннадий Валерьевич", 0.0386456709737682 },
            {"Гончарова  Елена  Ивановна", 0.097478288644171 },
            {"Бирюкова  Ирина  Борисовна", 0.0429546304248593 },
            {"Додукало Евгения Николаевна", 0.091276184000295 },
            {"Гуков  Владимир  Валерьевич", 0.14012607868343 },
            {"Кравчук  Лейла  Рашидовна", 0.182230206625752 },
            {"Минова  Надежда  Петровна", 0.0513071368587894 },
            {"Копейкин  Валерий  Александрович", 0.0341909638513464 },
            {"Познякова Людмила  Ивановна", 0.0499336967002058 },
            {"Богданов  Николай  Павлович", 0.163220775944158 },
            {"Ланина  Татьяна  Дмитриевна", 0.447830328368922 },
            {"Москалева  Евгения  Михайловна", 0.0669231877837099 },
            {"Колесник  Оксана  Александровна", 0.0805542502902647 },
            {"Воловик  Ольга  Владимировна", 0.0683024168512495 },
            {"Кейн  Ольга  Павловна", 0.0538877910397665 },
            {"Чаадаев  Константин  Евгеньевич", 0.0976352094010495 },
            {"Бычков  Евгений  Владимирович", 0.0471877587589816 },
            {"Кейн  Светлана  Александровна", 0.362575490058376 },
            {"Чурюмов  Вячеслав  Юзикович", 0.110105836297906 },
            {"Савич  Василий  Леонидович", 0.0702720529196462 },
            {"Пластинина  Екатерина  Владимировна", 0.0733244993088781 },
            {"Манжиков Анатолий Васильевич", 0.21940023378953 },
            {"Иванова  Елена  Сергеевна", 0.170353075420586 },
            {"Хегай  Валерий  Константинович", 0.129335547322528 },
            {"Бакулина  Людмила  Прокофьевна", 0.10391914141018 },
            {"Габова Мария  Николаевна", 0.109331226378296 },
            {"Канева  Екатерина  Александровна", 0.0928427093746984 },
            {"Жилина  Елена  Владимировна", 0.183824785526325 },
            {"Мордвинов  Александр  Антонович", 0.440909809564452 },
            {"Суханова  Валентина  Ильинична", 0.0377908747912524 },
            {"Сальников  Александр  Викторович", 0.0683863017656797 },
            {"Кочетков  Олег  Сергеевич", 0.40939351310715 },
            {"Колесниченко Елена Вениаминовна", 0.0314011871322753 },
            {"Думицкая  Наталья  Геннадьевна", 0.0281412807789139 },
            {"Федотова  Людмила  Федоровна", 0.0238642028298101 },
            {"Рыбина  Елена  Александровна", 0.0473425168461689 },
            {"Петров Николай Александрович", 0.0927725315801491 },
            {"Миклина  Ольга  Алексеевна", 0.0645973354894239 },
            {"Логачев  Юрий  Леонидович", 0.173520834077853 },
            {"Бабыкина  Наталья  Николаевна", 0.0282283356508195 },
            {"Карабинская  Лариса  Михайловна", 0.0274164233810547 },
            {"Гузенко  Ольга  Геннадьевна", 0.0488654481899486 },
            {"Северова  Нина  Александровна", 0.0615753890082508 },
            {"Рузин  Леонид  Михайлович", 0.336181634337427 },
            {"Васильев  Яков  Юрьевич", 0.0259709418849821 },
            {"Урбан Анастасия Викторовна", 0.178085619016878 },
            {"Канев Александр Александрович", 0.0224176214118389 },
            {"Чернышов Алексей Григорьевич", 0.0212659438845593 },
            {"Овчарова  Татьяна  Александровна", 0.0640628235892019 },
            {"Мужикова  Александра  Владимировна", 0.0841168378806632 },
            {"Шмарева  Мария  Борисовна", 0.0219609073483943 },
            {"Климушев  Николай  Константинович", 0.370439628956812 },
            {"Чупров  Илья  Федорович", 0.438671588307492 },
            {"Базарова  Ирина  Александровна", 0.0386656714162939 },
            {"Серов  Игорь  Константинович", 0.0314506446818967 },
            {"Миронюк  Александр  Васильевич", 0.0369507690727384 },
            {"Линок  Нина  Григорьевна", 0.0220386403561079 },
            {"Сичинава  Галина  Алексеевна", 0.0355126542102293 },
            {"Кучерявый  Василий  Иванович", 0.0844434575948106 },
            {"Прудникова  Ольга  Михайловна", 0.0327300373321151 },
            {"Куделин  Артем  Георгиевич", 0.132018808599169 },
            {"Король Сергей Александрович", 0.0478665182479199 },
            {"Душенко Татьяна Васильевна", 0.0556229774039306 },
            {"Алексеева  Наталья  Владимировна", 0.0455345140707683 },
            {"Кузьминых  Дмитрий  Владимирович", 0.0469973789794107 },
            {"Селиванов  Дмитрий  Геннадьевич", 0.0493086907763551 },
            {"Ивенина  Ирина  Владимировна", 0.0359941069443055 },
            {"Тарсин  Алексей  Вилхович", 0.0540243932114889 },
            {"Свирида Мария Михайловна", 0.0864046614727008 },
            {"Давыдов  Евгений  Игоревич", 0.185670953449961 },
            {"Чернова Ольга Витальевна", 0.0426648713729266 },
            {"Мелехина  Марина  Борисовна", 0.0408314578477221 },
            {"Вокуева Татьяна Анатольевна", 0.0532778034927157 },
            {"Николенко Надежда Александровна", 0.0324632790567027 },
            {"Михайленко Екатерина Дмитриевна", 0.0392523868661953 },
            {"Дегтянников  Антон  Иванович", 0.0292902366305676 },
            {"Белкина  Наталья  Григорьевна", 0.0277096884391483 },
            {"Кримчеева  Гюльнара  Гусейновна", 0.369382918335621 },
            {"Вишневская  Надежда  Семёновна", 0.0716527282567943 },
            {"Лапина  Лариса  Николаевна", 0.0668540788141648 },
            {"Жевнеренко  Василий  Александрович", 0.0713360375973654 },
            {"Высоцкая  Наталья  Викторовна", 0.0710901239157175 },
            {"Пятибрат  Владимир  Павлович", 0.0302280299066187 },
            {"Корохонько  Оксана  Михайловна", 0.0289932999773106 },
            {"Ложкина  Татьяна  Владимировна", 0.0524761052235716 },
            {"Турова  Ирина  Владимировна", 0.0425535905435549 },
            {"Зубкова  Светлана  Евгеньевна", 0.0239804727755425 },
            {"Бобылева  Татьяна  Вадимовна", 0.068267217433883 },
            {"Тодосеева  Наталья  Алексеевна", 0.0377658664388935 },
            {"Тебердеева  Лариса  Вячеславовна", 0.0409528640027361 },
            {"Воронина  Наталья  Васильевна", 0.0574025680265176 },
            {"Рочев  Алексей  Николаевич", 0.0516549113861109 },
            {"Серкова  Валентина  Ивановна", 0.0592235909683776 },
            {"Белоусова Кристина Вячеславовна", 0.0409026181829125 },
            {"Ерохина  Лариса  Алексеевна", 0.309289950655255 },
            {"Князев  Николай  Владимирович", 0.468366703064916 },
            {"Суранов  Григорий  Иванович", 0.240325124987138 },
            {"Вербаховская  Раиса  Абрамовна", 0.113870924614818 },
            {"Енцов  Илья  Иванович", 0.0165803748269967 },
            {"Кузьминова  Ирина  Владимировна", 0.022529216197437 },
            {"Туманова  Ольга  Николаевна", 0.0449524699293046 },
            {"Мартынова  Галина  Владимировна", 0.0208585489947773 },
            {"Пильник Юлия Николаевна", 0.0192992451984664 },
            {"Подосенова  Нина  Сергеевна", 0.14797481663272 },
            {"Дейнега  Светлана  Александровна", 0.027942975136344 },
            {"Гусева  Елена  Николаевна", 0.0219059684887644 },
            {"Зюзина  Наталия  Владимировна", 0.140392042698538 },
            {"Горяева Галина Николаевна", 0.0242839927449179 },
            {"Плюснин Павел Борисович", 0.0217904898266425 },
            {"Давыдова  Ирина  Евгеньевна", 0.0461588770310172 },
            {"Пирогова Кристина Геннадьевна", 0.0259341288108167 },
            {"Коношенок  Валентина  Ивановна", 0.0193990815630554 },
            {"Перфильева  Эмилия  Александровна", 0.0219680334236694 },
            {"Соловьев  Владимир  Вениаминович", 0.0261136672066679 },
            {"Батманова  Ольга  Аскольдовна", 0.0277390536601905 },
            {"Мартюшев  Сергей  Миронович", 0.0453119920823125 },
            {"Сирина  Елена  Анатольевна", 0.0258269553381994 },
            {"Енцова  Валентина  Ильинична", 0.0288715745814262 },
            {"Борисова  Ольга  Владимировна", 0.0215175843846115 },
            {"Задорожная  Алла  Алексеевна", 0.0208157559819225 },
            {"Осипова  Наталья  Александровна", 0.0314789194909917 },
            {"Лагода  Иван  Васильевич", 0.021631297521012 },
            {"Гацалов  Мисост  Муссаевич", 0.0457629526346883 },
            {"Власов  Владимир  Петрович", 0.0129523663078296 },
            {"Жингаровский  Анатолий  Николаевич", 0.0241942392959473 },
            {"Кейн  Евгений  Иосифович", 0.0264407575214705 },
            {"Мучулаев  Юрий  Анатольевич", 0.0154748843830714 },
            {"Вострикова  Юлия  Владиславовна", 0.0303610115031812 },
            {"Пшеничникова  Людмила  Харлампиевна", 0.0263984116237339 },
            {"Кудряшова  Ольга  Михайловна", 0.04818062662134 },
            {"Дроздовский  Георгий  Петрович", 0.0425021665760119 },
            {"Бойченко  Лидия  Петровна", 0.023224186048305 },
            {"Коптяева  Галина  Борисовна", 0.0278192828580296 },
            {"Юхнин  Михаил  Идрисович", 0.0212331441645256 },
            {"Салайда  Лидия  Всеволодовна", 0.0206246165971979 },
            {"Веселов  Станислав  Андреевич", 0.0342076553739244 },
            {"Журова  Татьяна  Викторовна", 0.0241652184844325 },
            {"Ларева  Александра  Геннадьевна", 0.031984701185952 },
            {"Сочко  Светлана  Сергеевна", 0.0122248636865319 },
            {"Семериков  Александр  Вениаминович", 0.0245296941241833 },
            {"Шилов  Лев  Петрович", 0.380484197212167 },
            {"Жукова  Любовь  Николаевна", 0.0271712679150602 },
            {"Белякова  Лариса  Оскаровна", 0.0217943693607248 },
            {"Бармина  Ирина  Николаевна", 0.033613217553156 },
            {"Корж  Владимир  Васильевич", 0.0326463935555774 },
            {"Кириллов  Валентин  Борисович", 0.0551894700978635 },
            {"Рохина  Раиса  Сергеевна", 0.027383609753539 },
            {"Торопова  Ольга  Олеговна", 0.0185109046032964 },
            {"Козлова  Любовь  Федоровна", 0.0230342050326705 },
            {"Выборова  Наталья  Михайловна", 0.0100214257005692 },
            {"Игнатов Михаил Васильевич", 0.0179629852354807 },
            {"Мовчанюк  Ольга  Васильевна", 0.0200988055666354 },
            {"Суровцев  Евгений  Леонидович", 0.014803570277703 },
            {"Паршина  Любовь  Михайловна", 0.0181122394279953 },
            {"Будевич Евгений Артурович", 0.0150523263926652 },
            {"Парфентьева  Елена  Владимировна", 0.0136470942476844 },
            {"Беляев  Андрей  Эдуардович", 0.00833281214941933 },
            {"Туманов  Дмитрий  Павлович", 0.0103738963194512 },
            {"Янгибаева  Индира  Ринатовна", 0.0119945045504952 },
            {"Шулепов  Иван  Иванович", 0.0196321241938196 },
            {"Лихачева  Инна  Алексеевна", 0.0167489492799462 },
            {"Дроздовская  Клавдия  Александровна", 0.0176878193056422 },
            {"Круссер Н Г", 0.0170491901153722 },
            {"Нестерова  Ольга  Валентиновна", 0.0202146105328709 },
            {"Коренькова  Елена  Васильевна", 0.014151101966263 },
            {"Михитарова Марина Васильевна", 0.00237866373057299 },
        };
        #endregion
        #region тестовые данные 2011
        Dictionary<string, double> _dTest11 = new Dictionary<string, double>()
        {
 {"Волкова  Ирина  Ивановна", 0.482319679224029 },
{"Крупенский  Владимир  Ильич", double.NaN },
{"Пушкин  Виктор  Наркистович", double.NaN },
{"Некучаев  Владимир  Орович", 1 },
{"Коломинова  Марина  Витальевна", 0.437729543448167 },
{"Чупраков  Александр  Михайлович", 0.223032871972666 },
{"Король Сергей Александрович", 0.188052072490187 },
{"Дудников  Виталий  Юрьевич", 0.136094445788981 },
{"Дудникова Светлана Борисовна", 0.0824198628580858 },
{"Пильник Юлия Николаевна", 0.0830485997401586 },
{"Солдатенков Вячеслав Иванович", 0.277849240426707 },
{"Федотов  Николай  Сергеевич", 0.0811096340498528 },
{"Цыгарова  Марина  Валентиновна", 0.341562409292575 },
{"Бурмистрова  Ольга  Николаевна", 0.263423434343751 },
{"Базарова  Ирина  Александровна", double.NaN },
{"Данилов  Георгий  Владимирович", 0.0458812197306915 },
{"Кудряшова  Ольга  Михайловна", double.NaN },
{"Мартюшев  Сергей  Миронович", 0.0942609030138429 },
{"Габова Мария  Николаевна", 0.0585532472398915 },
{"Канева  Екатерина  Александровна", 0.0467206132097091 },
{"Лютоев А А", 0.0363779679421981 },
{"Миронова Марина Геннадьевна", 0.0467849405604375 },
{"Мотрюк  Екатерина  Николаевна", 0.0478156400966136 },
{"Пластинина  Екатерина  Владимировна", 0.0602807256185625 },
{"Хозяинова Мария Семеновна", 0.0536761739548913 },
{"Хабаева Е В", 0.0407866242175444 },
{"Чупров  Илья  Федорович", 0.552617718612377 },
{"Вербаховская  Раиса  Абрамовна", double.NaN },
{"Богданов  Николай  Павлович", 0.151817052546738 },
{"Северова  Нина  Александровна", 0.0203133464044265 },
{"Кримчеева  Гюльнара  Гусейновна", 0.544763579961592 },
{"Абрамичева  Тамара  Витальевна", 0.020165960662696 },
{"Кучерявый  Василий  Иванович", double.NaN },
{"Ивенина  Ирина  Владимировна", double.NaN },
{"Коношенок  Валентина  Ивановна", double.NaN },
{"Волобуева Ольга Николаевна", 0.00839734589778365 },
{"Засовская Мария Александровна", 0.0176664739253893 },
{"Митрошкина Ольга Николаевна", 0.00822756956864264 },
{"Серов  Игорь  Константинович", 0.0478847818061904 },
{"Жилина  Елена  Владимировна", 0.0180836650672928 },
{"Зубкова  Светлана  Евгеньевна", 0.0188396350881047 },
{"Крючков  Сергей  Владимирович", 0.0141851217831545 },
{"Мужикова  Александра  Владимировна", 0.0171611036182999 },
{"Прудникова  Ольга  Михайловна", 0.0179852496907468 },
{"Жевнеренко  Василий  Александрович", 0.0246524398120416 },
{"Лапина  Лариса  Николаевна", 0.0448914083782409 },
{"Перфильева  Эмилия  Александровна", 0.0183774883744091 },
{"Пономарев  Николай  Степанович", 0.0302473208862318 },
{"Тарсин  Алексей  Вилхович", 0.0318545383848538 },
{"Шамбулина  Вера  Николаевна", 0.0226444955750181 },
{"Янгибаева  Индира  Ринатовна", 0.0174067182616338 },
{"Шарыгин  Александр  Михайлович", 0.00535317005921288 },
{"Шарыгин  Валерий  Михайлович", 0.00557910026664939 },
        };
        #endregion

        IMDataDataContext GetConnect()
        {
            return new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True");
        }

        /// <summary>
        /// получение словарика
        /// </summary>
        //[TestMethod()]
        public void Get_dTest11()
        {
            using (var ctx = GetConnect())
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                var indexes = term.Indexes;
                foreach (KeyValuePair<Respondent, double> d in indexes)
                    Console.WriteLine("{\"" + d.Key.Person + "\", " + (double.IsNaN(d.Value) ?
                       "double.NaN" : d.Value.ToString(NumberFormatInfo.InvariantInfo)) + " },");
            }
        }

        /// <summary>
        /// отклонение от изначальных данных ИС 2011
        /// </summary>
        //[TestMethod()]
        public void IndexesTest()
        {
            using (var ctx = new IMDataDataContext("Data Source=ugtudb;Initial Catalog=IndexMark;Integrated Security=True"))
            {
                var term = ctx.Terms.Single(x => x.IDTerm == 8);
                var indexes = term.Indexes;
                //var r1 = term.SectionTerms.Single(x => x.Order == "4").Indexes;
                //Console.WriteLine(r1);
                double y = 0, min = 0, max = 0;
                foreach (KeyValuePair<Respondent, double> d in indexes)
                {
                    try
                    {
                        //Console.WriteLine("{\"" + d.Key.Person + "\", " + d.Value.ToString(NumberFormatInfo.InvariantInfo) + " },");
                        var dy = _dTest11[d.Key.Person.ToString()] - d.Value;
                        if (!double.IsNaN(dy)) y += dy * dy;
                        //Console.WriteLine(d.Key.Person + " - отклонение: " + dy);
                        if (max > dy) max = dy;
                        if (min < dy) min = dy;
                        if (dy > 0.00001) Console.WriteLine(d.Key.Person + " - отклонение: " + dy);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine(d.Key.Person + " - косяк");
                    }
                }
                Console.WriteLine("квадратическое отклонение: " + y);
                Console.WriteLine("минимальное отклонение: " + max);
                Console.WriteLine("максимальное отклонене: " + min);
            }
            //Term target = new Term(); // TODO: Initialize to an appropriate value
            //RespondentIndexCollection actual;
            //actual = target.Indexes;
            //Assert.Inconclusive("Verify the correctness of this test method.");
        }
        #endregion
        #endregion
    }
}